package neuralModel.neuron;

import java.util.List;

import neuralModel.activationFunction.IActivationFunction;

public interface INeuron
{
	public String getName();

	public void addInputSignal(ISignal signal);

	public void addOutputSignal(ISignal signal);

	public List<ISignal> getInputSignalList();

	public List<ISignal> getOutputSignalList();

	public int getNetworkLayer();

	public void setNetworkLayer(int layer);

	public double getInducedLocalField();

	public void setInducedLocalField(double inudcedLocalField);

	public void updateInducedLocalField();

	public IActivationFunction getActivationFunction();

	public void setActivationFunction(IActivationFunction activationFunction);

	public double getOutputValue();

	public void setOutputValue(double outputValue);

	public void updateOutputValue();

	public void driveOutputValue();

}
